home *** CD-ROM | disk | FTP | other *** search
/ Komputer for Alle 2004 #2 / K-CD-2-2004.ISO / OpenOffice Sv / f_0397 / python-core-2.2.2 / lib / test / test_xreadline.py < prev    next >
Encoding:
Python Source  |  2003-07-18  |  974 b   |  44 lines

  1. from test_support import verbose
  2.  
  3. class XReader:
  4.     def __init__(self):
  5.         self.count = 5
  6.  
  7.     def readlines(self, sizehint = None):
  8.         self.count = self.count - 1
  9.         return map(lambda x: "%d\n" % x, range(self.count))
  10.  
  11. class Null: pass
  12.  
  13. import xreadlines
  14.  
  15.  
  16. lineno = 0
  17.  
  18. try:
  19.     xreadlines.xreadlines(Null())[0]
  20. except AttributeError, detail:
  21.     print "AttributeError (expected)"
  22. else:
  23.     print "Did not throw attribute error"
  24.  
  25. try:
  26.     xreadlines.xreadlines(XReader)[0]
  27. except TypeError, detail:
  28.     print "TypeError (expected)"
  29. else:
  30.     print "Did not throw type error"
  31.  
  32. try:
  33.     xreadlines.xreadlines(XReader())[1]
  34. except RuntimeError, detail:
  35.     print "RuntimeError (expected):", detail
  36. else:
  37.     print "Did not throw runtime error"
  38.  
  39. xresult = ['0\n', '1\n', '2\n', '3\n', '0\n', '1\n', '2\n', '0\n', '1\n', '0\n']
  40. for line in xreadlines.xreadlines(XReader()):
  41.     if line != xresult[lineno]:
  42.         print "line %d differs" % lineno
  43.     lineno += 1
  44.